package com.itheima.exception;

import com.itheima.pojo.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/*
  自定义了一个全局异常处理器类
     加上一个注解 来标明身份
 */
@RestControllerAdvice  // 如果你的 controller有问题 就通知我 我给你建议
@Slf4j
public class GlobalExceptionHandler {
    // 问题 是 异常  所以给的建议是 对异常的处理建议

    // 定义一个处理方法  因为这是spring中的技术 且是将处理结果给前端的
    // 方法的格式 和 处理方法一致
    @ExceptionHandler(Exception.class)// 如果遇到了 Exception这个异常 就执行下面的处理方法
    public Result ex(Exception e){//处理异常 所以接收参数就是 异常
        // 如果是 比较 迫切性的异常  需要给程序员发短信
        e.printStackTrace();//打印  以红色打印出来
        log.info(e.getMessage());

        return Result.error("对不起，您的操作有误，请联系管理员!");
    }
}
